A latch is a bi-stable or two-state electronic memory element in which the state of the memory is determined by a level of an input signal. A latch does not require a clock signal to capture the state of the input signal. A latch can be constructed of transistors, such as metal oxide semiconductor field effect transistors (MOSFETs), junction field effect transistors (JFETs), bipolar junction transistors (BJTs), and the like.
In contrast, a flip-flop is an electronic memory storage element in which a state is stored when a clock signal is asserted. A flip-flop is a synchronous or clocked memory element that can be triggered by either an edge or a level of the clock signal. Edge-triggered or edge-clocked flip-flops are commonly used as the memories or state elements in sequential logic circuits.